#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define ull unsigned long long
#define all(x) x.begin(), x.end()
const int mod = 1e9+7;
const int maxn = 2e5+5;
vector<int> graph[maxn];
int col[maxn], visited[maxn];
int cnt;
map<int, int> freq;
void dfs(int u){
visited[u] = 1;
freq[col[u]] = freq[col[u]]+1;
cnt++;
for(int x : graph[u]){
if(visited[x] == 0){
dfs(x);
}
}
}
int main(){
ios_base::sync_with_stdio(false); cin.tie(0);
int n, m, k;
cin >> n >> m >> k;
for(int i = 0; i < n; i++) cin >> col[i];
for(int i = 0; i < m; i++){
int a, b;
cin >> a >> b;
a--; b--;
graph[a].push_back(b);
graph[b].push_back(a);
}
int sol = 0;
for(int i = 0; i < n; i++){
if(visited[i] == 0){
freq.clear();
cnt = 0;
dfs(i);
sol += cnt - max_element(freq.begin(), freq.end(), [](auto x, auto y){ return x.second < y.second; })->second;;
}
}
cout << sol;
return 0;
}
561. Array Partition I | 1374. Generate a String With Characters That Have Odd Counts |
1822. Sign of the Product of an Array | 1464. Maximum Product of Two Elements in an Array |
1323. Maximum 69 Number | 832. Flipping an Image |
1295. Find Numbers with Even Number of Digits | 1704. Determine if String Halves Are Alike |
1732. Find the Highest Altitude | 709. To Lower Case |
1688. Count of Matches in Tournament | 1684. Count the Number of Consistent Strings |
1588. Sum of All Odd Length Subarrays | 1662. Check If Two String Arrays are Equivalent |
1832. Check if the Sentence Is Pangram | 1678. Goal Parser Interpretation |
1389. Create Target Array in the Given Order | 1313. Decompress Run-Length Encoded List |
1281. Subtract the Product and Sum of Digits of an Integer | 1342. Number of Steps to Reduce a Number to Zero |
1528. Shuffle String | 1365. How Many Numbers Are Smaller Than the Current Number |
771. Jewels and Stones | 1512. Number of Good Pairs |
672. Richest Customer Wealth | 1470. Shuffle the Array |
1431. Kids With the Greatest Number of Candies | 1480. Running Sum of 1d Array |
682. Baseball Game | 496. Next Greater Element I |